MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { eq() -> eq() , eq() -> true() , eq() -> false() , inf(X) -> cons() , take(0(), X) -> nil() , take(s(), cons()) -> cons() , length(cons()) -> s() , length(nil()) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE We use the processor 'Small Polynomial Path Order (PS,1-bounded)' to orient following rules strictly. Trs: { eq() -> true() , eq() -> false() , inf(X) -> cons() , take(0(), X) -> nil() , take(s(), cons()) -> cons() , length(cons()) -> s() , length(nil()) -> 0() } The induced complexity on above rules (modulo remaining rules) is YES(?,O(1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- The input was oriented with the instance of 'Small Polynomial Path Order (PS,1-bounded)' as induced by the safe mapping safe(eq) = {}, safe(true) = {}, safe(false) = {}, safe(inf) = {}, safe(cons) = {}, safe(take) = {}, safe(0) = {}, safe(nil) = {}, safe(s) = {}, safe(length) = {} and precedence take > inf, length > inf, take ~ length . Following symbols are considered recursive: {} The recursion depth is 0. For your convenience, here are the satisfied ordering constraints: eq() >= eq() eq() > true() eq() > false() inf(X;) > cons() take(0(), X;) > nil() take(s(), cons();) > cons() length(cons();) > s() length(nil();) > 0() We return to the main proof. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { eq() -> eq() } Weak Trs: { eq() -> true() , eq() -> false() , inf(X) -> cons() , take(0(), X) -> nil() , take(s(), cons()) -> cons() , length(cons()) -> s() , length(nil()) -> 0() } Obligation: innermost runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..